getting started
Quickstart
This page takes a fresh VPS to a running application in about ten minutes, and explains every file it creates along the way. You need a server with a public IP, a domain pointed at it, and SSH access.
1. Install
On the server, as a user with sudo:
$ curl -fsSL https://walden.sh/install | sh
The installer places a single binary in /usr/local/bin/walden and checks that podman, systemd and Caddy are present, installing any that are missing from your distribution's own repositories.
2. Describe your app
walden init writes a minimal walden.toml:
name = "notes-app"
domain = "notes.example.com"
port = 3000
3. Deploy
$ walden up
building notes-app from Containerfile…
ok image built 4.2s
ok unit installed notes-app.service
ok route published notes.example.com
ok certificate issued Let's Encrypt
live at https://notes.example.com
That's the whole deploy. Walden built the image with podman, installed a systemd unit to keep it running, appended a Caddy block for the domain, and reloaded. Every file it wrote is printed to the terminal.
4. Look around
Everything walden created is a plain file:
~/.config/systemd/user/notes-app.service
the unit
/etc/caddy/walden.d/notes-app.caddy
the route
/var/lib/walden/builds/notes-app/
kept builds, for rollback